<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
   <meta name="description" content="string operations">
    <meta name="author" content="John S. Urban" >
    <link rel="icon" href="../favicon.png">

    <title>paragraph &ndash; M_strings</title>

    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/pygments.css" rel="stylesheet">
    <link href="../css/font-awesome.min.css" rel="stylesheet">
    <link href="../css/local.css" rel="stylesheet">
    <link  href="../tipuesearch/tipuesearch.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    
    <script src="../js/jquery-2.1.3.min.js"></script>
    <script src="../js/svg-pan-zoom.min.js"></script>

  </head>

  <body>

    <!-- Fixed navbar -->
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="../index.html">M_strings </a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="dropdown hidden-xs visible-sm visible-md hidden-lg">
              <a href="#" class="dropdown-toggle"
              data-toggle="dropdown" role="button"
              aria-haspopup="true"
     aria-expanded="false">Contents <span class="caret"></span></a>
        <ul class="dropdown-menu">
            <li><a href="../lists/files.html">Source Files</a></li>
            <li><a href="../lists/modules.html">Modules</a></li>
            <li><a href="../lists/procedures.html">Procedures</a></li>
                   <li><a href="../lists/types.html">Derived Types</a></li>
       
            </ul>
        
            </li>
<li class="visible-xs hidden-sm visible-lg"><a href="../lists/files.html">Source Files</a></li>
<li class="visible-xs hidden-sm visible-lg"><a href="../lists/modules.html">Modules</a></li>
<li class="visible-xs hidden-sm visible-lg"><a href="../lists/procedures.html">Procedures</a></li>
                             <li class="visible-xs hidden-sm visible-lg"><a href="../lists/types.html">Derived Types</a></li>
          </ul>
        <form action="../search.html" class="navbar-form navbar-right" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search" name="q" id="tipue_search_input" autocomplete="off" required>
        </div>
<!--
        <button type="submit" class="btn btn-default">Submit</button>
-->
        </form>
        </div><!--/.nav-collapse -->
      </div>
    </nav>

    <div class="container">
  <div class="row">
    <h1>paragraph
      <small>Function</small>
    </h1>
    <div class="row">
  <div class="col-lg-12">
<div class="well well-sm">
  <ul class="list-inline" style="margin-bottom:0px;display:inline">
     <li><i class="fa fa-list-ol"></i>
       <a data-toggle="tooltip"
    data-placement="bottom" data-html="true"
    title=" 1.9% of total for procedures.">49 statements</a>
     </li> 
    <li><i class="fa fa-code"></i><a href="../src/M_strings.F90"> Source File</a></li>
  </ul>
  <ol class="breadcrumb in-well text-right">
     <li><a href='../sourcefile/m_strings.f90.html'>M_strings.F90</a></li>
     <li><a href='../module/m_strings.html'>M_strings</a></li>
     <li class="active">paragraph</li>
  </ol>
</div>
</div>
</div>
<script>
  $(function () {
  $('[data-toggle="tooltip"]').tooltip()
  })
</script>

  </div>
  
  <div class="row">
    <div class="col-md-3 hidden-xs hidden-sm visible-md visible-lg">
    <div id="sidebar">
  <h3>Contents</h3>
 
<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../proc/paragraph.html#src">paragraph</a>
  </div>
</div>

</div>

    </div>
    
    <div class="col-md-9" id='text'>
    <h2>public function paragraph(source_string, length)</h2>
    

    <h2 id="name">NAME</h2>
<div class="codehilite"><pre><span></span><code><span class="nv">paragraph</span><span class="ss">(</span><span class="mi">3</span><span class="nv">f</span><span class="ss">)</span> <span class="o">-</span> [<span class="nv">M_strings</span>:<span class="nv">TOKENS</span>] <span class="k">break</span> <span class="nv">a</span> <span class="nv">long</span> <span class="nv">line</span> <span class="nv">into</span> <span class="nv">a</span> <span class="nv">paragraph</span>
<span class="ss">(</span><span class="nv">LICENSE</span>:<span class="nv">PD</span><span class="ss">)</span>
</code></pre></div>

<h2 id="synopsis">SYNOPSIS</h2>
<p>function paragraph(source_string,length)</p>
<div class="codehilite"><pre><span></span><code>character(len=*),intent(in)       :: source_string
integer,intent(in)                :: length
character(allocatable(len=length)    :: paragraph(:)
</code></pre></div>

<h2 id="description">DESCRIPTION</h2>
<div class="codehilite"><pre><span></span><code><span class="n">paragraph</span><span class="p">(</span><span class="mi">3</span><span class="n">f</span><span class="p">)</span><span class="w"> </span><span class="n">breaks</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="n">long</span><span class="w"> </span><span class="n">line</span><span class="w"> </span><span class="n">into</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="n">simple</span><span class="w"> </span><span class="n">paragraph</span><span class="w"> </span><span class="n">of</span><span class="w"> </span><span class="n">specified</span><span class="w"></span>
<span class="n">line</span><span class="w"> </span><span class="n">length</span><span class="o">.</span><span class="w"></span>

<span class="n">Given</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="n">long</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="k">break</span><span class="w"> </span><span class="n">it</span><span class="w"> </span><span class="n">on</span><span class="w"> </span><span class="n">spaces</span><span class="w"> </span><span class="n">into</span><span class="w"> </span><span class="n">an</span><span class="w"> </span><span class="n">array</span><span class="w"> </span><span class="n">such</span><span class="w"> </span><span class="n">that</span><span class="w"> </span><span class="n">no</span><span class="w"></span>
<span class="n">variable</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">longer</span><span class="w"> </span><span class="n">than</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">specified</span><span class="w"> </span><span class="n">length</span><span class="o">.</span><span class="w"> </span><span class="n">Individual</span><span class="w"> </span><span class="n">words</span><span class="w"> </span><span class="n">longer</span><span class="w"></span>
<span class="n">than</span><span class="w"> </span><span class="n">LENGTH</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">be</span><span class="w"> </span><span class="n">placed</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">variables</span><span class="w"> </span><span class="n">by</span><span class="w"> </span><span class="n">themselves</span><span class="o">.</span><span class="w"></span>
</code></pre></div>

<h2 id="options">OPTIONS</h2>
<div class="codehilite"><pre><span></span><code> <span class="nv">SOURCE_STRING</span>  <span class="nv">input</span> <span class="nv">string</span> <span class="nv">to</span> <span class="k">break</span> <span class="nv">into</span> <span class="nv">an</span> <span class="nv">array</span> <span class="nv">of</span> <span class="nv">shorter</span> <span class="nv">strings</span>
                <span class="nv">on</span> <span class="nv">blank</span> <span class="nv">delimiters</span>
 <span class="nv">LENGTH</span>         <span class="nv">length</span> <span class="nv">of</span> <span class="nv">lines</span> <span class="nv">to</span> <span class="k">break</span> <span class="nv">the</span> <span class="nv">string</span> <span class="nv">into</span>.
</code></pre></div>

<h2 id="returns">RETURNS</h2>
<div class="codehilite"><pre><span></span><code><span class="w"> </span><span class="n">PARAGRAPH</span><span class="w">  </span><span class="n">character</span><span class="w"> </span><span class="n">array</span><span class="w"> </span><span class="n">filled</span><span class="w"> </span><span class="n">with</span><span class="w"> </span><span class="n">data</span><span class="w"> </span><span class="n">from</span><span class="w"> </span><span class="n">source_string</span><span class="w"></span>
<span class="w">            </span><span class="n">broken</span><span class="w"> </span><span class="n">at</span><span class="w"> </span><span class="n">spaces</span><span class="w"> </span><span class="n">into</span><span class="w"> </span><span class="n">variables</span><span class="w"> </span><span class="n">of</span><span class="w"> </span><span class="n">length</span><span class="w"> </span><span class="n">LENGTH</span><span class="o">.</span><span class="w"></span>
</code></pre></div>

<h2 id="example">EXAMPLE</h2>
<p>sample program</p>
<div class="codehilite"><pre><span></span><code><span class="n">program</span> <span class="n">demo_paragraph</span>
<span class="k">use</span> <span class="n">M_strings</span>, <span class="n">only</span> : <span class="n">paragraph</span>
<span class="n">implicit</span> <span class="nb">none</span>
<span class="n">character</span>(<span class="n">len</span>=:),<span class="n">allocatable</span> :: <span class="n">paragrph</span>(:)
<span class="n">character</span>(<span class="n">len</span>=*),<span class="nb">parameter</span>    :: <span class="n">string</span>= <span class="s">&#39;&amp;</span>
<span class="s"> &amp;one two three four five &amp;</span>
<span class="s"> &amp;six seven eight &amp;</span>
<span class="s"> &amp;nine ten eleven twelve &amp;</span>
<span class="s"> &amp;thirteen fourteen fifteen sixteen &amp;</span>
<span class="s"> &amp;seventeen&#39;</span>

<span class="nb">write</span>(*,*)<span class="s">&#39;LEN=&#39;</span>,<span class="n">len</span>(<span class="n">string</span>)
<span class="nb">write</span>(*,*)<span class="s">&#39;INPUT:&#39;</span>
<span class="nb">write</span>(*,*)<span class="n">string</span>

<span class="n">paragrph</span>=<span class="n">paragraph</span>(<span class="n">string</span>,<span class="mi">40</span>)
<span class="nb">write</span>(*,*)<span class="s">&#39;LEN=&#39;</span>,<span class="n">len</span>(<span class="n">paragrph</span>),<span class="s">&#39; SIZE=&#39;</span>,<span class="n">size</span>(<span class="n">paragrph</span>)
<span class="nb">write</span>(*,*)<span class="s">&#39;OUTPUT:&#39;</span>
<span class="nb">write</span>(*,<span class="s">&#39;(a)&#39;</span>)<span class="n">paragrph</span>

<span class="nb">write</span>(*,<span class="s">&#39;(a)&#39;</span>)<span class="n">paragraph</span>(<span class="n">string</span>,<span class="mi">0</span>)
<span class="nb">write</span>(*,<span class="s">&#39;(3x,a)&#39;</span>)<span class="n">paragraph</span>(<span class="n">string</span>,<span class="mi">47</span>)

<span class="nb">end</span> <span class="n">program</span> <span class="n">demo_paragraph</span>
</code></pre></div>

<p>Results:</p>
<div class="codehilite"><pre><span></span><code> LEN=         106
 INPUT:
 one two three four five six seven eight nine ten eleven twelve
 thirteen fourteen fifteen sixteen seventeen
 LEN=          40  SIZE=           3
 OUTPUT:
one two three four five six seven eight
nine ten eleven twelve thirteen fourteen
fifteen sixteen seventeen
one
two
three
four
five
six
seven
eight
nine
ten
eleven
twelve
thirteen
fourteen
fifteen
sixteen
seventeen
   one two three four five six seven eight nine
   ten eleven twelve thirteen fourteen fifteen
   sixteen seventeen
</code></pre></div>

<h2 id="author">AUTHOR</h2>
<div class="codehilite"><pre><span></span><code>John S. Urban
</code></pre></div>

<h2 id="license">LICENSE</h2>
<div class="codehilite"><pre><span></span><code>Public Domain
</code></pre></div>

    <h3>Arguments</h3>
      <table class="table table-striped varlist">
<thead><tr><th>Type</th><th>Intent</th><th>Optional</th><th>Attributes</th><th></th><th>Name</th><th></th></thead>
<tbody>
<tr>
  <td><span class="anchor" id="variable-source_string~2"></span>character(len=*),</td>
<td>intent(in)</td>
  <td></td>  <td></td><td>::</td>
  <td><strong>source_string</strong></td><td></td>
</tr>
<tr>
  <td><span class="anchor" id="variable-length~4"></span>integer,</td>
<td>intent(in)</td>
  <td></td>  <td></td><td>::</td>
  <td><strong>length</strong></td><td></td>
</tr>
</tbody>
</table>

   <h3>Return Value <small><span class="anchor" id="variable-paragraph"></span>character(len=:),allocatable,(:)</small></h3>
    
    <br>

    <section class="visible-xs visible-sm hidden-md">
      <h3>Contents</h3>
 
<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../proc/paragraph.html#src">paragraph</a>
  </div>
</div>

    </section>
    <br class="visible-xs visible-sm hidden-md">


    
    

    
    


    
    <section>
    <h2><span class="anchor" id="src"></span>Source Code</h2>
    <div class="highlight"><pre><span></span><span class="k">function </span><span class="n">paragraph</span><span class="p">(</span><span class="n">source_string</span><span class="p">,</span><span class="n">length</span><span class="p">)</span><span class="w"></span>

<span class="c">! ident_77=&quot;@(#)M_strings::paragraph(3f): wrap a long string into a paragraph&quot;</span>

<span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span><span class="k">intent</span><span class="p">(</span><span class="n">in</span><span class="p">)</span><span class="w">       </span><span class="kd">::</span><span class="w"> </span><span class="n">source_string</span><span class="w"></span>
<span class="kt">integer</span><span class="p">,</span><span class="k">intent</span><span class="p">(</span><span class="n">in</span><span class="p">)</span><span class="w">                </span><span class="kd">::</span><span class="w"> </span><span class="n">length</span><span class="w"></span>
<span class="kt">integer</span><span class="w">                           </span><span class="kd">::</span><span class="w"> </span><span class="n">itoken</span><span class="w"></span>
<span class="kt">integer</span><span class="w">                           </span><span class="kd">::</span><span class="w"> </span><span class="n">istart</span><span class="w"></span>
<span class="kt">integer</span><span class="w">                           </span><span class="kd">::</span><span class="w"> </span><span class="n">iend</span><span class="w"></span>
<span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=*</span><span class="p">),</span><span class="k">parameter</span><span class="w">        </span><span class="kd">::</span><span class="w"> </span><span class="n">delimiters</span><span class="o">=</span><span class="s1">&#39; &#39;</span><span class="w"></span>
<span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="p">:),</span><span class="k">allocatable</span><span class="w">      </span><span class="kd">::</span><span class="w"> </span><span class="n">paragraph</span><span class="p">(:)</span><span class="w"></span>
<span class="kt">integer</span><span class="w">                           </span><span class="kd">::</span><span class="w"> </span><span class="n">ilines</span><span class="w"></span>
<span class="kt">integer</span><span class="w">                           </span><span class="kd">::</span><span class="w"> </span><span class="n">ilength</span><span class="w"></span>
<span class="kt">integer</span><span class="w">                           </span><span class="kd">::</span><span class="w"> </span><span class="n">iword</span><span class="p">,</span><span class="w"> </span><span class="n">iword_max</span><span class="w"></span>
<span class="kt">integer</span><span class="w">                           </span><span class="kd">::</span><span class="w"> </span><span class="n">i</span><span class="w"></span>
<span class="c">!-----------------------------------------------------------------------------------------------------------------------------------</span>
<span class="c">!  parse string once to find out how big to make the returned array, then redo everything but store the data</span>
<span class="c">!  could store array of endpoints and leave original whitespace alone or many other options</span>
<span class="w">   </span><span class="k">do </span><span class="n">i</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="w"></span>
<span class="w">      </span><span class="n">iword_max</span><span class="o">=</span><span class="mi">0</span><span class="w">                                  </span><span class="c">! length of longest token</span>
<span class="w">      </span><span class="n">ilines</span><span class="o">=</span><span class="mi">1</span><span class="w">                                     </span><span class="c">! number of output line output will go on</span>
<span class="w">      </span><span class="n">ilength</span><span class="o">=</span><span class="mi">0</span><span class="w">                                    </span><span class="c">! length of output line so far</span>
<span class="w">      </span><span class="n">itoken</span><span class="o">=</span><span class="mi">0</span><span class="w">                                     </span><span class="c">! must set ITOKEN=0 before looping on strtok(3f) on a new string.</span>
<span class="w">      </span><span class="k">do while</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">strtok</span><span class="p">(</span><span class="n">source_string</span><span class="p">,</span><span class="n">itoken</span><span class="p">,</span><span class="n">istart</span><span class="p">,</span><span class="n">iend</span><span class="p">,</span><span class="n">delimiters</span><span class="p">)</span><span class="w"> </span><span class="p">)</span><span class="w"></span>
<span class="w">         </span><span class="n">iword</span><span class="o">=</span><span class="n">iend</span><span class="o">-</span><span class="n">istart</span><span class="o">+</span><span class="mi">1</span><span class="w"></span>
<span class="w">         </span><span class="n">iword_max</span><span class="o">=</span><span class="nb">max</span><span class="p">(</span><span class="n">iword_max</span><span class="p">,</span><span class="n">iword</span><span class="p">)</span><span class="w"></span>
<span class="w">         </span><span class="k">if</span><span class="p">(</span><span class="n">iword</span><span class="p">.</span><span class="n">gt</span><span class="p">.</span><span class="n">length</span><span class="p">)</span><span class="k">then</span><span class="w">                   </span><span class="c">! this token is longer than the desired line length so put it on a line by itself</span>
<span class="w">            </span><span class="k">if</span><span class="p">(</span><span class="n">ilength</span><span class="p">.</span><span class="n">ne</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span><span class="k">then</span>
<span class="k">               </span><span class="n">ilines</span><span class="o">=</span><span class="n">ilines</span><span class="o">+</span><span class="mi">1</span><span class="w"></span>
<span class="w">            </span><span class="k">endif</span>
<span class="k">            if</span><span class="p">(</span><span class="n">i</span><span class="p">.</span><span class="n">eq</span><span class="p">.</span><span class="mi">2</span><span class="p">)</span><span class="k">then</span><span class="w">     </span><span class="c">! if paragraph has been allocated store data, else just gathering data to determine size of paragraph</span>
<span class="w">               </span><span class="n">paragraph</span><span class="p">(</span><span class="n">ilines</span><span class="p">)</span><span class="o">=</span><span class="n">source_string</span><span class="p">(</span><span class="n">istart</span><span class="p">:</span><span class="n">iend</span><span class="p">)</span><span class="o">//</span><span class="s1">&#39; &#39;</span><span class="w"></span>
<span class="w">            </span><span class="k">endif</span>
<span class="k">            </span><span class="n">ilength</span><span class="o">=</span><span class="n">iword</span><span class="o">+</span><span class="mi">1</span><span class="w"></span>
<span class="w">         </span><span class="n">elseif</span><span class="p">(</span><span class="n">ilength</span><span class="o">+</span><span class="n">iword</span><span class="p">.</span><span class="n">le</span><span class="p">.</span><span class="n">length</span><span class="p">)</span><span class="k">then</span><span class="w">       </span><span class="c">! this word will fit on current line</span>
<span class="w">            </span><span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="p">.</span><span class="n">eq</span><span class="p">.</span><span class="mi">2</span><span class="p">)</span><span class="k">then</span>
<span class="k">               </span><span class="n">paragraph</span><span class="p">(</span><span class="n">ilines</span><span class="p">)</span><span class="o">=</span><span class="n">paragraph</span><span class="p">(</span><span class="n">ilines</span><span class="p">)(:</span><span class="n">ilength</span><span class="p">)</span><span class="o">//</span><span class="n">source_string</span><span class="p">(</span><span class="n">istart</span><span class="p">:</span><span class="n">iend</span><span class="p">)</span><span class="w"></span>
<span class="w">            </span><span class="k">endif</span>
<span class="k">            </span><span class="n">ilength</span><span class="o">=</span><span class="n">ilength</span><span class="o">+</span><span class="n">iword</span><span class="o">+</span><span class="mi">1</span><span class="w"></span>
<span class="w">         </span><span class="k">else</span><span class="w">                                      </span><span class="c">! adding this word would make line too long so start new line</span>
<span class="w">            </span><span class="n">ilines</span><span class="o">=</span><span class="n">ilines</span><span class="o">+</span><span class="mi">1</span><span class="w"></span>
<span class="w">            </span><span class="n">ilength</span><span class="o">=</span><span class="mi">0</span><span class="w"></span>
<span class="w">            </span><span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="p">.</span><span class="n">eq</span><span class="p">.</span><span class="mi">2</span><span class="p">)</span><span class="k">then</span>
<span class="k">               </span><span class="n">paragraph</span><span class="p">(</span><span class="n">ilines</span><span class="p">)</span><span class="o">=</span><span class="n">paragraph</span><span class="p">(</span><span class="n">ilines</span><span class="p">)(:</span><span class="n">ilength</span><span class="p">)</span><span class="o">//</span><span class="n">source_string</span><span class="p">(</span><span class="n">istart</span><span class="p">:</span><span class="n">iend</span><span class="p">)</span><span class="w"></span>
<span class="w">            </span><span class="k">endif</span>
<span class="k">            </span><span class="n">ilength</span><span class="o">=</span><span class="n">iword</span><span class="o">+</span><span class="mi">1</span><span class="w"></span>
<span class="w">         </span><span class="k">endif</span>
<span class="k">      enddo</span>
<span class="k">      if</span><span class="p">(</span><span class="n">i</span><span class="o">==</span><span class="mi">1</span><span class="p">)</span><span class="k">then</span><span class="w">                                 </span><span class="c">! determined number of lines needed so allocate output array</span>
<span class="w">         </span><span class="k">allocate</span><span class="p">(</span><span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="nb">max</span><span class="p">(</span><span class="n">length</span><span class="p">,</span><span class="n">iword_max</span><span class="p">))</span><span class="w"> </span><span class="kd">::</span><span class="w"> </span><span class="n">paragraph</span><span class="p">(</span><span class="n">ilines</span><span class="p">))</span><span class="w"></span>
<span class="w">         </span><span class="n">paragraph</span><span class="o">=</span><span class="s1">&#39; &#39;</span><span class="w"></span>
<span class="w">      </span><span class="k">endif</span>
<span class="k">   enddo</span>
<span class="k">   </span><span class="n">paragraph</span><span class="o">=</span><span class="n">paragraph</span><span class="p">(:</span><span class="n">ilines</span><span class="p">)</span><span class="w"></span>
<span class="k">end function </span><span class="n">paragraph</span><span class="w"></span>
</pre></div>

    </section>
    <br>
    
    </div>
  </div>

    <hr>    
    </div> <!-- /container -->
    <footer>
      <div class="container">
      <div class="row">
        <div class="col-xs-6 col-md-6"><p>M_strings was developed by John S. Urban<br>&copy; 2022 
</p>
        </div>
        <div class="col-xs-6 col-md-6">
          <p class="text-right">
            Documentation generated by 
            <a href="https://github.com/Fortran-FOSS-Programmers/ford">FORD</a>
 on 2022-05-01 01:47            </p>
        </div>
      </div>
      <br>
      </div> <!-- /container -->    
    </footer>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
<!--
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
-->
    <script src="../js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../js/ie10-viewport-bug-workaround.js"></script>

    <!-- MathJax JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } },
        jax: ['input/TeX','input/MathML','output/HTML-CSS'],
        extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js']
      });
    </script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    <script src="../tipuesearch/tipuesearch_content.js"></script>
    <script src="../tipuesearch/tipuesearch_set.js"></script>
    <script src="../tipuesearch/tipuesearch.js"></script>
    
  </body>
</html>